home *** CD-ROM | disk | FTP | other *** search
- /********************************************************************
- * IMedia.h - Filter-Public Media Class
- *
- * Copyright (C) 1996 Adobe Systems Incorporated. All rights reserved
- *
- * ABSTRACT:
- * IMEDIA_STORE is a pure virtual interface class used as a base for
- * MEDIA_STORE. IMEDIA_STORE objects are handed to filters so that filters
- * obtain an interface for storing media information and/or content
- * along with an image being imported by the filter. Objects of the class
- * are instantiated by ALDInfoProc() during ALD_APP_MEDIA_STORE.
- * THE FILTER IS EXPECTED TO DESTROY THE OBJECT WHEN FINISHED.
- *
- * $Revision: 1.0 $
- *
- *******************************************************************/
-
- #ifndef IMEDIA_H
- #define IMEDIA_H
-
- #include "aldtypes.h"
-
- typedef enum HTMLPLATFORM
- {
- HTMLPLATFORM_MAC = 0x4d4d4d4d, // MMMM
- HTMLPLATFORM_WIN = 0x57575757 // WWWW
- } HTMLPLATFORM;
-
- // use of one or more of the following flags alerts HTML Export to the presence of data
- // that requires maintenance by HTML Export. For example, specifying HTMLPFLAG_WIDTH + HTMLPFLAG_HEIGHT
- // indicate that HTML Export find cases of: WIDTH=???? HEIGHT=???? and replace with WIDTH=345 HEIGHT=100
- // (or whatever size the image is on export).
- typedef enum HTMLPARAMFLAGS {HTMLPFLAG_HREF = 1, HTMLPFLAG_SRC = 2, HTMLPFLAG_WIDTH = 4,
- HTMLPFLAG_HEIGHT = 8}
- HTMLPARAMFLAGS;
-
- // use of one or more of the following flags alerts HTML Export to certain requested behavior
- // by the filter.
- // HTMLAFLAG_NOIMAGE specifies that the image should never be exported to a file
- // by Export HTML. This is generally desireable for media tags like <EMBED>.
- // HTMLAFLAG_REPLACEIMGTAG specifies that the media tags should replace the <IMG> tag.
- // The alternative is to allow Export HTML to attempt to directly interpret your media
- // tag and to decide for itself what to replace the <IMG> tag with, if anything.
- // Media filters will almost always desire to set this flag!
- //
- typedef enum HTMLAUXFLAGS {HTMLAFLAG_NOIMAGE = 1, HTMLAFLAG_REPLACEIMGTAG = 2}
- HTMLAUXFLAGS;
-
- // HTMLPRIVDATA is the structure used for "HTML Data" private data
- // stored by PageMaker for filters and plugins, and used by Export HTML.
- // This structure definition is dictated by Export HTML, and may change
- // in future versions of Export HTML. PageMaker itself is to know nothing
- // about this structure.
- typedef struct _HTMLPRIVDATA
- {
- DWORD dwUlSize; // size of the private data, inc ulSize, flags and tag data.
- DWORD dwPlatform; // use HTMLPLATFORM
- DWORD dwVersion; // version of this structure. Current version is 0.
- DWORD dwParamFlags; // use HTMLPARAMFLAGS
- DWORD dwAuxFlags; // use HTMLAUXFLAGS
- DWORD dwOffsetOther; // offset to other data
- char szContent; // the HTML tag info
- } HTMLPRIVDATA;
-
- class IMEDIA_STORE
- {
- public:
- virtual ~IMEDIA_STORE() { }
-
- virtual WORD GetVersion() = 0;
- virtual RC SetMediaType(char *pszMediaType) = 0;
- virtual RC SetPluginType(char *pszPluginType) = 0;
- virtual RC StorePDFMark(char *buf, long len) = 0;
- virtual RC StoreHTMLData(BYTE *buf, long len) = 0;
- virtual RC SetImageToNonPrinting(void) = 0;
- };
-
- #endif // IMEDIA_H
-